package traductor;
import java.util.*;
public class TablaSimbolos {
	private ArrayList<Objeto> TS;
	
	public TablaSimbolos(){
		TS = new ArrayList<Objeto>();
	}
	
	public Objeto find(String nombre){
		for (Objeto entra : TS)
			if (nombre.equals(entra.getNombre()))
				return entra;
		return null;
	}
	
	public Objeto find(String nombre, int Offset){
		for (Objeto entra : TS)
			if ((nombre.equals(entra.getNombre())) && (Offset == entra.getOffset()))
				return entra;
		return null;
	}
	
	public Objeto crear(String Nombre,int Offset){
		Objeto entra = new Objeto(Nombre, Offset);
		TS.add(0,entra);
		return entra;				
	}
	
	public Objeto recorrer(String nombre,int offset) {
		Objeto entrada = new Objeto();
		entrada = this.find(nombre);
		if (entrada == null)  { 
			entrada = this.crear(nombre,offset);
		}
		return entrada;
	}
	
	public int size() {
		return TS.size();
	}	
	
	public void MostrarTS(){	
		for (Objeto entra : TS)
		{   
			System.out.println("----------------------");
			System.out.println("Nombre: "+entra.getNombre());
			System.out.println("Offset: "+entra.getOffset());
		}
		System.out.println("----------------------");
	}
	
}


